package com.shuoyue.ycgk.base;


import android.content.Context;

import com.shuoyue.ycgk.net.exception.NetErrorException;
import com.uber.autodispose.AutoDisposeConverter;

import io.reactivex.disposables.Disposable;


public interface BaseView {

    /**
     * 显示加载中
     */
    void showLoading();

    /**
     * 显示加载中
     */
    void showLoading(String title);

    /**
     * 隐藏加载
     */
    void hideLoading();

    /**
     * 数据获取失败
     *
     * @param throwable
     */
    void onError(NetErrorException throwable);

    /**
     * 绑定Android生命周期 防止RxJava内存泄漏
     *
     * @param <T>
     * @return
     */
    <T> AutoDisposeConverter<T> bindAutoDispose();

    Context getCurrentContext();

    void bindDispos(Disposable disposable);

    void toast(String msg);

    void needLogin();

    void clearUserInfo();

    void clearNetWork();
}
